package com.campus.help.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 二手商品实体类
 *
 * @author campus-help
 * @since 2025-10-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("secondhand")
public class Secondhand extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 商品标题
     */
    @TableField("title")
    private String title;

    /**
     * 商品类型ID
     */
    @TableField("type_id")
    private Long typeId;

    /**
     * 商品描述
     */
    @TableField("description")
    private String description;

    /**
     * 商品价格
     */
    @TableField("price")
    private BigDecimal price;

    /**
     * 商品原价
     */
    @TableField("original_price")
    private BigDecimal originalPrice;

    /**
     * 商品成色（全新、99新、95新、9成新、8成新、7成新）
     */
    @TableField("condition_status")
    private String conditionStatus;

    /**
     * 交易地点
     */
    @TableField("location")
    private String location;

    /**
     * 卖家ID
     */
    @TableField("seller_id")
    private Long sellerId;

    /**
     * 学校ID
     */
    @TableField("school_id")
    private Long schoolId;

    /**
     * 联系方式 - QQ
     */
    @TableField("qq")
    private String qq;

    /**
     * 联系方式 - 手机
     */
    @TableField("phone")
    private String phone;

    /**
     * 联系方式 - 微信
     */
    @TableField("wechat")
    private String wechat;

    /**
     * 商品状态（selling：在售中，sold：已售出，off_shelf：已下架）
     */
    @TableField("status")
    private String status;

    /**
     * 是否急售（0：否，1：是）
     */
    @TableField("is_urgent")
    private Integer isUrgent;

    /**
     * 浏览次数
     */
    @TableField("view_count")
    private Integer viewCount;

    /**
     * 收藏次数
     */
    @TableField("favorite_count")
    private Integer favoriteCount;

    /**
     * 商品图片（JSON数组格式存储）
     */
    @TableField("images")
    private String images;

    /**
     * 购买时间
     */
    @TableField("purchase_date")
    private String purchaseDate;

    /**
     * 使用时长（月）
     */
    @TableField("usage_duration")
    private Integer usageDuration;

    /**
     * 是否包邮（0：否，1：是）
     */
    @TableField("free_shipping")
    private Integer freeShipping;

    /**
     * 是否支持议价（0：否，1：是）
     */
    @TableField("negotiable")
    private Integer negotiable;

    /*--------------------------不存在的字段-------------------------------*/
    /**
     * 卖家昵称
     */
    @TableField(exist = false)
    private String sellerName;

    /**
     * 卖家头像
     */
    @TableField(exist = false)
    private String sellerAvatar;

    /**
     * 类型名称
     */
    @TableField(exist = false)
    private String typeName;

    /**
     * 类型图标
     */
    @TableField(exist = false)
    private String typeIcon;

    /**
     * 类型颜色
     */
    @TableField(exist = false)
    private String typeColor;
}

